import axios from 'axios'
import { ElMessage } from 'element-plus'

// 创建 axios 实例
const service = axios.create({
    baseURL: '/api', // api 的 base_url
    timeout: 30000 // 请求超时时间
})

// 请求拦截器
service.interceptors.request.use(
    config => {
        // 可以在这里添加请求头等配置
        return config
    },
    error => {
        console.error('请求错误：', error)
        return Promise.reject(error)
    }
)

// 响应拦截器
// service.interceptors.response.use(
//     response => {
//         // 如果是文件下载，需要判断响应内容
//         if (response.config.responseType === 'blob') {
//             // 创建 FileReader 读取 blob 内容
//             return new Promise((resolve, reject) => {
//                 const reader = new FileReader()
//                 reader.onload = () => {
//                     try {
//                         // 尝试解析响应内容
//                         const result = JSON.parse(reader.result)
//                         // 如果能解析成 JSON，说明是错误信息
//                         if (result.code === 500) {
//                             ElMessage.error(result.msg || '转换失败')
//                             reject(new Error(result.msg || '转换失败'))
//                         }
//                     } catch (e) {
//                         // 如果无法解析成 JSON，说明是正常的文件内容
//                         resolve(response)
//                     }
//                 }
//                 reader.onerror = () => reject(new Error('文件读取失败'))
//                 reader.readAsText(response.data)
//             })
//         }
//         return response
//     },
//     error => {
//         console.error('响应错误：', error)
//         ElMessage.error(error.message || '系统异常')
//         return Promise.reject(error)
//     }
// )

export default service 